package camion.wroom.wroom;

/**
 *
 * @author BAILO
 */
public class Camion {

    private Type type;          //le type du camion
    private int prixLocation;   //le prix de location du camion
    private int poidsMax;       //le poids maximun que peut tranporter le camion (livre)
    private int volumeMax;      //le poids maximun du camion (en pied cube)
    public Camion(Type type) {
        this.type = type;
        //Initilisation du prix de location du camion suivant le type
        switch (type) {
            case PETIT:
                this.prixLocation = CamionInfo.prixPetitCamion;
                this.poidsMax = CamionInfo.poidsMaxPetitCamion;
                this.volumeMax = CamionInfo.volumeMaxPetitCamion;
                break;
            case MOYEN:
                this.prixLocation = CamionInfo.prixMoyenCamion;
                this.poidsMax = CamionInfo.poidsMaxMoyenCamion;
                this.volumeMax = CamionInfo.volumeMaxMoyenCamion;
                break;
            case GRAND:
                this.prixLocation = CamionInfo.prixGrandCamion;
                this.poidsMax = CamionInfo.poidsMaxGrandCamion;
                this.volumeMax = CamionInfo.volumeMaxGrandCamion;
                break;
            case TRES_GRAND:
                this.prixLocation = CamionInfo.prixTresGrandCamion;
                this.poidsMax = CamionInfo.poidsMaxTresGrandCamion;
                this.volumeMax = CamionInfo.volumeMaxTresGrandCamion;
                break;
            default:
                this.prixLocation = 0;
                this.poidsMax = 0;
                this.volumeMax = 0;
        }
    }

    /**
     * 
     * @return le type du camion
     */
    public Type getType() {
        return type;
    }

    /**
     * Modifie la valeur du camion
     * @param type le nouveau type
     */
    public void setType(Type type) {
        this.type = type;
         switch (type) {
            case PETIT:
                this.prixLocation = 270;
                this.poidsMax = 650;
                this.volumeMax = 392;
                break;
            case MOYEN:
                this.prixLocation = 300;
                this.poidsMax = 2525;
                this.volumeMax = 560;
                break;
            case GRAND:
                this.prixLocation = 355;
                this.poidsMax = 3750;
                this.volumeMax = 784;
                break;
            case TRES_GRAND:
                this.prixLocation = 425;
                this.poidsMax = 5250;
                this.volumeMax = 1008;
                break;
            default:
                this.prixLocation = 0;
                this.poidsMax = 0;
                this.volumeMax = 0;
        }
    }
    
    /**
     * 
     * @return le prix de location du camion
     */
    public int getPrixLocation() {
        return prixLocation;
    }

    /**
     * modifie le prix de location du camion
     * @param prixLocation le nouveau prix de location
     */
    public void setPrixLocation(int prixLocation) {
        this.prixLocation = prixLocation;
    }
    /**
     * 
     * @return le poids max du camion
     */
    public int getPoidsMax() {
        return poidsMax;
    }
    
    /**
     * Modifie le poids max du camion
     * @param poidsMax nouveau poids
     */
    public void setPoidsMax(int poidsMax) {
        this.poidsMax = poidsMax;
    }

    /**
     * 
     * @return le volume max du camion
     */
    public int getVolumeMax() {
        return volumeMax;
    }

    /**
     * modifie le volume max du camion
     * @param volumeMax nouveau volume
     */
    public void setVolumeMax(int volumeMax) {
        this.volumeMax = volumeMax;
    }
    
    
    
}
